package entity;

public class Spiller {

	private String name;
	private Konto konto;
	private int position, fleets;

	/**
	 * Opretter et spillerobjekt. Spillerobjektet opretter et tilhørende konto-objekt.
	 * Spillerens position sættes (til 1 = startfeltet) og antallet af felter af typen spilleren ejer sættes (til 0).
	 */
	public Spiller(){
		konto = new Konto(); //Opretter et nyt konto-objekt
		fleets = 0; // Spilleren starter med at eje 0 felter af typen Fleet
		position = 1; // Spilleren starter på Start-feltet
	}

	/**
	 * Hent spillerens konto
	 * @return Spillerens konto
	 */
	public Konto getKonto(){ 
		return konto;
	}

	/**
	 * Sæt spillerens navn til den ønskede String
	 * @param name Spillerens navn
	 */
	public void setName(String name){ 
		this.name=name;
	}

	/**
	 * Returnerer spillerens navn som en string
	 * @return Spillerens navn
	 */
	public String getName(){
		return name;
	}

	/**
	 * Hent spillerens position (hvilket nummer felt han står på)
	 * @return Spillerens position
	 */
	public int getPosition(){
		return this.position;
	}

	/**
	 * Sæt spillerens position (hvilket nummer felt han er landet på)
	 * @param newPosition Hvilket nummer felt spilleren er landet på
	 */
	public void setPosition(int newPosition){
		this.position = newPosition;
	}

	/**
	 * Opdaterer antallet af felter af typen Fleet spilleren ejer
	 * @param fleets Antallet af felter af typen Fleet spilleren har købt i denne tur (typisk 1)
	 */
	public void setFleets(int fleets) {
		this.fleets = fleets + this.fleets;
	}

	/**
	 * Hent antallet af felter af typen Fleet spilleren ejer
	 * @return Antal felter af typen Fleet spilleren ejer
	 */
	public int getFleets() {
		return this.fleets;
	}

	/**
	 * Udskriver spillerens navn samt konto
	 */
	public String toString(){
		String str = "Spillernavn: " + name + " med pengebeholdning: " + konto;
		return str;
	}



}